The title of your home page You could put your verification ID in a comment Or, in its own meta tag Or, as one of your keywords Your content is here. The verification ID will NOT be detected if you put it here. مقدمه ای بر AVR
 
دانشگاهی
مدیریت ارشد وب
 
 

 مقدمه ای بر AVR

تکنولوزی AVR برای اولین بار در سال 1997 توسط شرکت Atmel ارائه شد و بعد از آن جزء تولیدات محبوب این شرکت قرار گرفت.مزیت اصلی این تکنولوژی داشتن هسته RISC همراه با تعداد زیادی ثبات کاری یا Working Register است.این ثباتها به ALU مرتبط هستند و توسط آنها می توان تعداد زیادی ریز دستورالعمل را در مدت زمان یک پالس ساعت اجرا کرد به عبارتی دیگر اجرای هر دستورالعمل یک پالس ساعت لازم دارد در حالیکه اجرای این ریز دستورالعملها در میکروکنترلرهای دیگر در تعداد زیادتری از پالس ساعت اجرا می شوند بنابراین AVR ها می توانند بسیار سریعتر عمل کنند و همچنین کدهای با حجم بالایی را اجرا کنند.به عنوان مثال کارایی یک AVR که با سرعت4MHz کار می کند با کارایی میکروی PIC با سرعت 16MHz و همچنین میکروی 8051 با سرعت 48MHz برابر است!

معماری AVR

ثباتهای AVR

میکروکنترلرهای 8 بیتی AVR 32 ثبات 8 بیتی همه منظوره دارند یعنی r0 تا r31 .

سه ثبات آدرس شانزده بیتی با نام مستعار X و Y و Z که هر کدام از این سه ثبات دو ثبات از همان 32 ثبات 8 بیتی هستند یعنی X(r27:r26), Y(r29:r28), Z(r31:r30)) .

یک ثبات 16 بیتی به منظور اشاره گر پشته که در آدرسهای ورودی/خروجی:

0x3e(SPH) و 0x3d(SPL) قرارگرفته اند.همچنین این آدرسها در حافظه داده با آدرسهای 0x5e و 0x5d هستند

یک ثبات 8بیتی به منظور سنجش وضعیت یا همان ثبات پرچم با نام SREG .

ITHSVNZC

I : فعال ساز و غیرفعال ساز عمومی وقفه SREG7 یا Global Interrupt Enable/Disable Flag

T: بیت انتقالی مورد استفاده دستورالعملهای BLD وBST با نام SREG6

H: Half Carry Flag, SREG5

S : بیت علامت یا Signed tests Instruction Set, SREG4

V : سرریزنما برای مکمل دو یا Two's Complement Overflow Indicator, SREG3

N : بیت منفی یا Negative Flag, SREG2

Z : بیت صفر یا Zero Flag, SREG1

C : Carry Flag, SREG0

 

حافظه داده و ثباتهای AVR

32 آدرس اول حافظه یعنی (0x0000 تا 0x001f ) متعلق به ثباتهای r0 تا r31 هستند.البته در برخی MCU (MicroController Unit) ها برای ثباتها از فضای حافظه ی داده استفاده می شود.

آدرسهای ( 0x0020 تا 0x005f ) از حافظه ی داده در دسترس آدرسهای ورودی/خروجی (0x00 تا 0x3f ) است.

از آدرس 0x0060 حافظه ی داده به بعد فقط شامل حافظه استاتیک است یعنی SRAM .

 

دو ثبات برای واحد ریاضی منطقی ALU

تعداد زیادی از دستورالعملهای ALU شامل دو ثبات هستند یکی مقصد یا Destination(Rd) و یکی منبع یا Source(Rr) که نحوه کدگشایی دستورالعمل را در زیر می بینید:

بیتهایی که در آن حرف i قرار گرفته دستورالعملند و حرف d بیتهای مقصد هستند و حرف r بیتهای منبع هستند ثبات منبع از بهم پیوستن بیتهای (r9 : r3 : r2 : r1 : r0) و ثبات مقصد از بهم پیوستن بیتهای (d8 : d7 : d6 : d5 : d4)مشخص می شوند همچنین بیتهای باقی مانده

(i15 : i14 : i13 : i12 : i11 : i10) خود دستورالعمل را مشخص می کنند.

به عنوان مثال حاصل جمع r17 و r2 که همان Add r17 , r2 است به صورت زیر کدگشایی یا Encode می شود:

0000110100010010

که در این صورت خروجی AVR-OBJDUMP از این قرار استHex :

0: 12 0d add r17, r2

توجه داشته باشید که یک کلمه ی 16 بیتی از هشت بیت کم ارزش آن در حافظه ذخیره می شود.

 

Immediate ALU Encoding

 

کدگشایی به روش فوری به شکل قالب زیر صورت می گیرد:

 

 

ثباتهای R16 تا R31 توسط چهار بیت نوع d قابل دسترسی هستند.بیتهای نوع I شامل Opcode هستند و هشت بیت نوع k شامل داده های فوری می شوند که از این هشت بیت ، چهار بیت با ارزش بالا یا High nybble آن عبارت است از (k12 , k11 , k10 , k9) و همچنین چهار بیت با ارزش پایین یا Low nybble آن برابر است با

(k3 , k2 , k1 , k0.)

به عنوان مثال دستور العمل LDI r27, 0xac به صورت زیر کدگشایی خواهد شد:

 

avr-objdump:

0: bc ea ldi r27, 0xAC

Opcode در این مثال برابر است با 1110 که معادل است با 0xe HEX

 

دستورالعملهای پرشی

میکروهای AVR می توانند به اندازه63+k<>64- کلمه از محل دستورالعمل جاری با حفظ وابستگی به یکی از هشت بیت ثبات پرچم پرش نمایند به جدول زیر توجه فرمایید

 

دستورالعملهای انتقال داده:

 

خواص AVR

 

دارای بهترین MCU برای حافظه فلش در جهان ! (MCU: Master Control Unit)

دارای سیستمی با بهترین هماهنگی

دارای بالاترین کارایی و اجرا در CPU (یک دستورالعمل در هر سیکل کلاک)

دارای کدهایی با کوچکترین سایز

دارای حافظه خود برنامه ریز

دارای واسطه JTAG که با IEEE 1149.1 سازگار است

 (IEEE: Institute of Electrical and Electronics Engineers.)

دارای سخت افزار ضرب کننده روی خود

دارای بهترین ابزارها برای پیشرفت و ترقی

دارای حالات زیادی برای ترفیع دادن یا Upgrade

 

Jtag

 

Jtag استانداردری است که توسط شرکتهای تولیدکنندهpcb وic تهیه وتولیدگردیده وازسال1990 به عنوان استانداردieee باشماره ieee1194.1-1990 به ثبت رسیدحال این استانداردسخت افزارونرافزارموردنیازبرای فعال کردن قابلیت تست وارتباط بادنیای خارج ازic .میکروکنترلرهاراارایه کرده است وبه یادداشته باشیم درسال1993 باشمارهieee1194.1a-1993 ودرسال1995 باشمارهieee1194.1b-1995 تجدیدنظروترمیم نهایی شده است

 


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:



درباره وبلاگ


به وبلاگ من خوش آمدید
موضوعات
آخرین مطالب
آرشيو وبلاگ
بهمن 1390
دی 1390
اسفند 1389 بهمن 1389
افزایش آمار بازدید
پيوندها

ما را با نام افزایش بازدید رایگان سایت و وبلاگ لینک کنید و ادرس خود را نیز ثبت کنید







ورود اعضا:

آمار وب سایت:  

بازدید امروز : 177
بازدید دیروز : 420
بازدید هفته : 3711
بازدید ماه : 7566
بازدید کل : 160512
تعداد مطالب : 411
تعداد نظرات : 105
تعداد آنلاین : 1

 
 
 
افزایش آمار بازدید